#ifndef THREAD_INCLUDED
#define THREAD_INCLUDED

#define T Thread_T

typedef struct T *T;

int  Thread_init(int preempt);
T    Thread_new(int apply(void*), void *args, int nbytes);
// Release the delayed releasing threads.
void Thread_exit(int code);
T    Thread_self();
int  Thread_join(T t);
void Thread_pause();

#undef T

#endif

